package com.cloudkinto.service.stock;

import com.cloudkinto.entity.StockTransferDo;
import com.baomidou.mybatisplus.extension.service.IService;

import com.cloudkinto.common.web.PageResult;
import com.cloudkinto.common.web.SingleResult;
import com.cloudkinto.service.stock.vo.transfer.StockTransferAddReq;
import com.cloudkinto.service.stock.vo.transfer.StockTransferDetail;
import com.cloudkinto.service.stock.vo.transfer.StockTransferVerifyReq;

import java.util.Map;

/**
 * <p>
 *  service接口
 * </p>
 * @author 张永远
 * @since 2020-06-11
 */
public interface StockTransferService extends IService<StockTransferDo> {

    SingleResult addInit(Long currentUserId, Long companyId);

    StockTransferAddReq add(StockTransferAddReq req, Long userId, Long companyId);

    void verify(StockTransferVerifyReq req, Long userId);

    SingleResult updateInit(Long id);

    Object update(Object updateVo, Long userId);

    int delete(Long id, Long userId);

    StockTransferDetail detail(Long id);

    SingleResult pageInit(Long currentUserId, Long companyId);

    PageResult getListPage(Map<String, String> map,Long userId);

    boolean add(StockTransferAddReq req, Long userId, Long companyId, boolean needCheck);

    double getCost(StockTransferAddReq req, Long companyId);
}
